package com.real8.romemp.client.ui;

import com.google.gwt.user.client.ui.IsWidget;

public interface WarView extends IsWidget {
	public interface Presenter {
		/**
		 * On continue pressed.
		 */
		void onContinue();
	}

	void setPresenter(Presenter presenter);

	/**
	 * Hide all individual elements
	 */
	void hideAll();

	/**
	 * Show war warning
	 */
	void showWarWarning();

	/**
	 * Show no war info
	 */
	void showNoWar();

	/**
	 * Show war info
	 * 
	 * @param warOrRevolt
	 * @param opponent
	 */
	void showWar(String message);

	/**
	 * Show (please) continue message / option
	 */
	void showContinue();

	/**
	 * Show chance to win.
	 * 
	 * @param chance
	 */
	void showWinChance(int chance);

	/**
	 * Show that Rome was defeated
	 */
	void showDefeated();

	/**
	 * Show that Rome was victorious
	 */
	void showVictorious();

	/**
	 * Show war losses
	 * 
	 * @param lostLocalWarShips
	 * @param lostOverseeWarShips
	 * @param lostLocalMerchantShips
	 * @param lostOverseeMerchantShips
	 * @param lostArmy
	 * @param lostAuxilia
	 * @param remainingFoodReservePercent
	 * @param remainingPopulationPercent
	 * @param lostShipBuilders
	 * @param lostArtisans
	 */
	void showLosses(int lostLocalWarShips, int lostOverseeWarShips,
			int lostLocalMerchantShips, int lostOverseeMerchantShips,
			int lostArmy, int lostAuxilia, int remainingFoodReservePercent,
			int remainingPopulationPercent, int lostShipBuilders,
			int lostArtisans);

	/**
	 * Show trade rate increase
	 * 
	 * @param tradeRateChange
	 */
	void showTradeRateIncreased(int tradeRateChange);

	/**
	 * Show trade rate decrease
	 * 
	 * @param tradeRateChange
	 */
	void showTradeRateDecreased(int tradeRateChange);

	/**
	 * Show trade rate
	 * 
	 * @param tradeRate
	 */
	void showTradeRate(int tradeRate);
}
